Today, many data storage systems use redundant array of inexpensive disks (RAID) technology. Chen et al., RAID: High-Performance, Reliable Secondary Storage (1994) gives an overview of RAID levels 0-6 and is incorporated herein by reference.
In RAID 0, an array controller stripes data across the disk array and accesses data in parallel which increases I/O performance. RAID 0 has good write performance because it has no need to update redundant data, but has decreased reliability because there is no data redundancy. Loss of a single disk in the array results in data loss. Also, the data distributed on N identical disks of a disk array has 1/N the reliability of a single disk.
In RAID 1, when an array controller writes data to a disk, it also writes the data to a redundant disk. The array controller can read data from either disk, and if one disk fails, the array controller can read the data from the other disk increasing reliability but RAID 1 doubles the storage required so is expensive.
In RAID 5, an array controller writes the data and the parity over the disk array. The array controller stores the parity of the data as blocks associated with a set of data blocks when it writes data, and updates that parity data as data is changed by further write operations. If one disk fails, its data can be reconstructed by reading the remaining disks and the parity disk. This permits all of the disks to service a read request, but write requests tend to be less efficient, because they must read-modify-write the parity of the data.